﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using King.Engine.GameObjects;
using Microsoft.Xna.Framework;

namespace King.Engine.Components
{
    /// <summary>
    /// An extension to a game object
    /// </summary>
    public abstract class Component
    {

        #region Properties

        /// <summary>
        /// The game object that this component is attached to
        /// </summary>
        public virtual GameObject Parent
        {
            get;
            set;
        }

        #endregion


        #region Public Methods
        
        public virtual void Update(GameTime gameTime)
        {

        }

        public virtual void Draw()
        {

        }

        public override int GetHashCode()
        {
            return this.GetType().GetHashCode();
        }

        #endregion

    }
}
